package net.wofly.cashier.room.service;

import java.util.List;

import net.wofly.cashier.room.domain.Room;
import net.wofly.common.util.ReturnBean;

public interface IRoomService {

	/**
	 * 增加或修改
	 * 
	 * @param entity
	 * @return
	 */
	public Room save(Room entity);

	/**
	 * 删除
	 * 
	 * @param entity
	 * @return
	 */
	public void delete(Room entity);

	/**
	 * 根据主键ID删除
	 * 
	 * @param key
	 * @return
	 */
	public void delete(String key);

	/**
	 * 根据主键查询
	 * 
	 * @param key
	 * @return
	 */
	public Room findOne(String key);
	
	public List<Room> save(List<Room> entityList) ;

	List<Room> findByStatus(Integer status);

	List<Room> findAll();

	/**
	 * 新增房间信息
	 * <ul>
	 * 	<li>验证employeeID用户权限</li>
	 * </ul>
	 *
	 * @param room
	 * @param employeeID
	 */
	public ReturnBean<Room> addRoom(Room room, String employeeID);
	
	/**
	 * 删除房间
	 * <ul>
	 * 	<li>验证employeeID用户权限</li>
	 * </ul>
	 * <ul>
	 * 	<li></li>
	 * </ul>
	 *
	 * @param roomID
	 * @param employeeID
	 */
	public ReturnBean<String> delRoom(String roomID, String employeeID);
	
	/**
	 * 一次性获取所有Room，不分页。根据状态来判断是否取全部
	 * <ul>
	 * 	<li>status=1 取所有有效的房间</li>
	 * 	<li>status=0 取所有无效的房间</li>
	 * 	<li>status=-1 取所有房间</li>
	 * 	<li>验证employeeID用户权限</li>
	 * </ul>
	 *
	 * @param status
	 * @param employeeID
	 */
	public ReturnBean<List<Room>> getAllRoom(Integer status, String employeeID);
	
	/**
	 * 修改房间信息
	 * <ul>
	 * 	<li></li>
	 * 	<li>验证employeeID用户权限</li>
	 * </ul>
	 *
	 * @param room
	 * @param employeeID
	 */
	public ReturnBean<Room> updateRoom(Room room, String employeeID);

}
